Елена Булыгина предлагает Вам запомнить сайт «Ленусик»
Вы хотите запомнить сайт «Ленусик»?
Да Нет
×
Прогноз погоды

Основная статья: Web developer

Мифы в IT-образовании

Константин Левачин закончил курсы по профессии «Веб-разработчик» в GeekBrains. Он рассказывает, с какими мифами столкнулся и почему не стоит им верить.

Миф 1. Нужно учиться только тому, о чем мечтаешь

Со страниц бизнес-книг звучат призывы относиться к работе как к любимому увлечению. Многие предприниматели создают бизнес на основе хобби, поэтому иногда мы сталкиваемся с предложениями услуг в духе «сделаю открытки из живых цветов» или «организую дождь из бабочек».

Есть специалисты, которые занимаются только любимым делом, доводя навыки до совершенства. Это может быть рисование портретов в стиле Энди Уорхола или иконок в гравюрном стиле. Но рынок подобных услуг ограничен, а спрос на них низкий. Люди перевели любимое дело в заработок, но его едва хватает на жизнь.

Если внимательно вчитаться в бизнес-советы, становится ясно, что надо менять не работу, а отношение к ней. Труд должен обеспечивать жизнь человека и его семьи. Если любимое дело не способно прокормить, оно должно остаться хобби. Заниматься лучше тем, что приносит пользу многим и востребовано в обществе. Выбирайте специализацию исходя из запросов рынка и постарайтесь полюбить то, чем будете заниматься.

Костя: «Тут важно разделять мечту и реальность. Я всегда хотел создавать игры. Но когда изучил рынок, понял, что мне на данном этапе выгоднее стать веб-разработчиком. Сайты востребованы, и писать их я могу в одиночку. А для игр нужна команда, да и мало кому в регионе может понадобиться разработчик игр. У нас в Смоленске больше нужны сайты.

Но я не отговариваю тех, кто рискует и идет за мечтой. Если быть хорошим спецом, можно стать фрилансером и работать удаленно. Или переехать и найти работу в Москве, Санкт-Петербурге или других крупных городах».

Миф 2. Нужно много всего выучить

Действительно, IT — обширная область знаний, но можно начать с одной сферы и двигаться дальше. Желательно выбрать направление или профессию: веб- или мобильная разработку, программирование, создание игр, тестирование, системное администрирование. В зависимости от этого решения подбирайте специализацию, язык и получайте навыки.

Если пойти от обратного и выбрать сначала язык, при его изучении может оказаться, что на нем пишут микроконтроллеры — а вы всегда мечтали о мобильных приложениях. Или выяснится, что язык редкий и не востребован у работодателей. Избирательно подходите и к изучению дополнительных фреймворков, библиотек, препроцессоров. Неприятно узнать в конце пути, что полученные знания не пригодятся.

Костя: «Если вы сначала определитесь с профессией, а уже потом с языком — больше шансов сделать правильный выбор. Я остановился на PHP.  Это один из самых популярных языков программирования, на котором ведется разработка. Он достаточно простой и хорошо подходит на роль первого языка — для меня важно видеть быстрый прогресс. PHP постоянно развивается, в каждой версии есть улучшения, в нем оперативно фиксят баги. Еще у него активное комьюнити: практически на любой вопрос можно найти ответ в Сети. Это важно, когда ты не работаешь в крупной компании и негде спросить совета, кроме как в интернете».

Миф 3. Нужна «вышка»

В Советском Союзе было престижно иметь высшее образование. Выпускники хороших вузов получали «зеленый свет» в профессии. Действовала система трудоустройства, поэтому студенты старались отлично учиться и стать лучшими, чтобы получить достойную работу.

В начале 90-х начался бум: университеты и институты открывались чуть ли не в каждом дворе. Новоявленные вузы быстро получали лицензию — оставалось только дать рекламу. Высшее образование стало слишком доступным и повсеместным. Это привело к его девальвации: низкому уровню обучения и недоверию со стороны работодателей. Но психологический настрой — «без высшего образования никуда» — остался.

На Западе система образования построена иначе. Главная задача — подготовить специалистов-практиков, которые смогут сразу работать. Обучение может занимать от шести месяцев до двух лет, потому что студенты изучают только те предметы, которые дают необходимые в работе знания и навыки. У них в расписании нет обязательной для всех философии, физкультуры или концепции современного естествознания.

IT-сфера развивается стремительно. По прогнозам «Сколково» и Агентства стратегических инициатив, до 2030 года появится еще 136 IT-профессий. Ни один вуз или колледж не успевает обновлять программу так быстро, как это делают создатели курсов. У них гибкие программы, которым не требуется многоуровневое утверждение, поэтому добавить обучение по новым технологиям проще и быстрее, чем в вузах.

Костя: «Я изучал все возможности стать программистом. Пока не выбрал специальность веб-разработчика, увлекался созданием приложений для Android. По советам на YouTube написал простое приложение. Но понял, что быть самоучкой — не для меня. Я хотел актуальной и структурированной информации, поэтому решил получить высшее образование.

Познакомившись с программами местных вузов, испытал разочарование. Они отстают от тенденций в IT лет на пять. Преподаватели по большей части — теоретики, а программирование — это ремесло, где практика имеет основное значение. В вузах Смоленска вообще не было специальности программиста! Вот тогда я впервые задумался о курсах. Как показала жизнь, не зря. Для меня курсы стали лучшим способом быстро стать программистом».

Миф 4. Учеба занимает все время

Многие считают, что не потянут нагрузку. Работа, семья, дети, дела — все это занимает 25 часов сутки, не оставляя и минуты на учебу. Но как показывает практика, количество свободного времени у человека зависит от того, насколько он организован. Есть пословица: «Если хотите, чтобы что-то было сделано, поручите это занятому человеку». При правильном распорядке дня каждый способен выполнить множество дел. У занятого человека жизнь организована, и он может взять дополнительную нагрузку — потому что умеет ее распределять и выполнять задачи в срок.

Преимущество онлайн-образования — в возможности учиться по индивидуальному графику. Обучение проходит удаленно, поэтому студенты не тратят время на дорогу и могут в день занятий экономить от одного до трех часов. Расписание подстраивается под студента, а не наоборот. Можно смотреть вебинары и выполнять практические задания, когда есть время: рано утром, поздно вечером или на выходных. Составьте собственный график учебы, согласованный с работой и другими делами. Распределите нагрузку и оставьте запасное время на непредвиденные обстоятельства.

Костя: «Всегда выбирайте только курсы, на которых уроки можно смотреть в записи. Я работал по графику “два через два” и не мог присутствовать на всех занятиях, поэтому обычно смотрел вебинары позже. Еще мне помогали наставники: отвечали на вопросы и объясняли домашние задания, когда я не мог разобраться сам. В результате я построил план обучения так, что не замечал разницы, присутствовал ли на лекции онлайн или смотрел ее в записи.

Не советую сразу все бросать ради программирования. Если у вас есть работа, проходите курсы без отрыва от нее. Учиться онлайн ничем не хуже, чем сидеть за партой. В чем-то даже лучше: больше практики и индивидуальный график. Важный момент: если вдруг поймете, что программирование — это не ваше, то прервать обучение в онлайн-школе не так обидно, как поступить в вуз и потерять там годы».

Миф 5. После онлайн-курсов невозможно трудоустроиться

Чтобы устроиться на работу, нужно ориентироваться на рынке труда и понимать, какие компании есть в городе и что они предлагают. Стоит заранее узнать, кто берет стажеров и практикантов. Посмотрите статистику вакансий по своему региону — востребованность профессий разная. В Москве упоминание в резюме слова «блокчейн» увеличивает просмотры на 25 %, а в Смоленске он никому не нужен.

Заблуждение думать, что на работу берут только выпускников вузов. Если бы это было так, безработных было бы куда больше. Многие программисты — самоучки, особенно специалисты, начинавшие в 90-х. Они учились и набивали шишки на практике. В то время не было профильных вузовских факультетов, курсов, электронных учебников и вебинаров. Разработчики собирали информацию по крупицам и многое делали по наитию. Это не помешало многим стать квалифицированными и востребованными профессионалами, работать по специальности.

Костя: «Главное — не бояться собеседований. Обязательно ходите везде, куда приглашают. Запоминайте, что спрашивают, на что обращают внимание, каких умений от вас хотят. Отказ в работе не означает, что вы — плохой программист. Может быть, вы просто еще не научились проходить интервью с кадровиками. Такие вещи тоже приходят с опытом.

Я сам не с первого раза устроился на работу. Сначала пробовал найти удаленный вариант, подавал заявки в две разные компании. В итоге не прошел собеседования, потому что не был настроен серьезно и не смог ответить на сложные вопросы. Зато понял, почему меня не взяли, чего не хватило на интервью.

После этого решил попытать силы в своем городе. Со второй попытки получил место веб-разработчика в местной IT-компании. Считаю себя везучим: чтобы трудоустроиться, мне даже не пригодилась гарантированная стажировка от GeekBrains. Первую работу в IT я нашел еще во время учебы».

Напутствие

  1. При выборе профессии рисуйте график, где увидите уровень зарплат, требования к одной и той же профессии в стране и родном городе.
  2. Используйте данные с сайтов по поиску работы.
  3. Посмотрите количество соискателей. Иногда лучше быть одним из пяти человек на место, чем одним из ста.

Сейчас везде большой спрос на IT-специалистов: и в России, и за рубежом. Работы очень много — и один из проектов, может быть, ждет именно вас.

Пройти обучение

14 ноя 18, 15:30
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

5 IT-конференций 2018 года: что, где, когда и сколько стоит

Мир IT не имеет границ: в разных точках планеты постоянно проходят семинары, конференции и просто крутые ивенты. Мы решили обратить ваше внимание на самые-самые из них, заодно оценив, во сколько обойдется участие, поездка и проживание.

IT Arena 2018

Даты: 29 сентября — 1 октября 2018 года.

Где: Львов, Украина.

Описание: это одна из крупнейших IT-конференций не только на Украине, но и во всей Восточной Европе. Здесь представлено более 2800 мировых компаний, в разное время здесь проводили семинары Twitter, Uber, Facebook, Philips, Samsung, IBM, Google и Microsoft. На этот год запланировано выступление 90 спикеров, среди них СЕО Rockstar, представители GitLab, Google, Microsoft. В последний день проходит масштабный музыкальный фестиваль на 3000 человек, давно известный за пределами конференции.

Стоимость участия: 140–350 € в зависимости от выбранного пакета посещения мероприятий.

Стоимость авиабилетов: перелет через Беларусь будет стоить 176 €.

Стоимость гостиницы: во Львове можно найти гостиницу на любой кошелек, но приличные варианты стартуют от 60 € за ночь.

Прочие расходы: виза для въезда в Украину не нужна, транспортные и бытовые расходы на 3 дня вряд ли превысят 150 €.

Итого: от 640 € для комфортного посещения конференции — до 1000 €, чтобы получить максимум пользы и удовольствия.

World Summit AI

Даты: 10–11 октября 2018 года.

Где: Амстердам, Нидерланды.

Описание: 6000 тысяч участников и более 140 выступлений всего за 2 дня. И все это посвящено изучению искусственного интеллекта. Среди выступающих — представители Google, Яндекс, Unity, Apple, NASA, Microsoft, IBM, Dell, Toyota, General Motors, Phillips, Qualcomm и еще нескольких десятков компаний. Масштабное мероприятие — как по формату, так и по качеству организации.

Стоимость участия: 399 €.

Стоимость авиабилетов: 278 € за прямой перелет и от 171 € за рейсы с пересадкой.

Стоимость гостиницы: чтобы жить рядом с местом проведения конференции — а это самый центр Амстердама — придется отдать минимум по 110 € за ночь. Если расположиться чуть дальше или снимать частное жилье, плюс обойтись одной ночевкой, стоимость можно сократить до 70 € за поездку.

Прочие расходы: транспорт и еда на 2 дня облегчат кошелек по меньшей мере на 140 €. Для комфортного пребывания придется выложить от 250 €. Помним про 35 € на консульский сбор за оформление визы.

Итого: поездка осенью в Амстердам на 2 дня с посещением WSAI будет стоить не менее 780 €.

Oracle Openworld

Даты: 28 октября — 1 ноября 2018 года.

Где: Сан-Франциско, США.

Описание: Oracle OpenWorld — это ежегодная конференция для тех, кто принимает решения в бизнесе, связанном с IT: коммерции, облачных технологиях, социальном взаимодействии, безопасности, больших данных и аналитике. На OpenWorld можно познакомиться с новейшими решениями в области разработки приложений, искусственного интеллекта, повышения гибкости и эффективности. Так как организатором конференции выступает Oracle, большинство спикеров представляют именно эту компанию и ее партнеров.

Стоимость участия: 2150 $.

Стоимость авиабилетов: прямых авиарейсов в Сан-Франциско из России нет, а рейсы с пересадкой будут стоить минимум в 605 $.

Стоимость гостиницы: экономить на фоне таких трат вряд ли будет смысл, поэтому заложите от 660 $ на бизнес-отель недалеко от места проведения конференции.

Прочие расходы: учитывая длительность мероприятия, есть смысл арендовать автомобиль, что обойдется примерно в 250 $. Плюс питание и городской налог — еще столько же. Сделать визу в России быстро не получится, а с учетом сборов и денег на переезды в страны СНГ стоит заложить еще хотя бы 500 $.

Итого: поездка в Сан-Франциско обойдется в 4450 $.

Gartner IT Infrastructure, Operations Management & Data Center Conference

Даты: 4–7 декабря 2018 года.

Где: Лас-Вегас, США.

Описание: одно из важнейших мероприятий для IT-руководителей состоится в конце года в Лас-Вегасе. Ожидается, что за 4 дня его посетит несколько тысяч человек, от которых зависит сегодняшний облик IT и перспективы отрасли. Пройдет более 60 семинаров, гости которых узнают о ведущих тенденциях на 2019 год, смогут обзавестись контактами и оценить нынешние успехи.

Стоимость участия: 3050–3575 $ — в зависимости от срока покупки билета и доступа к разным мероприятиям.

Стоимость авиабилетов: добраться до Вегаса чуть сложнее, чем до Сан-Франциско. Придется дважды менять самолеты и отдать при этом минимум 615 $.

Стоимость гостиницы: плюс Вегаса в том, что там есть достойные отели за умеренную плату. Снять номер на 3 ночи в пятизвездочной гостинице недалеко от центра можно за 225 $.

Прочие расходы: визовый сбор — 160 $, питание — не меньше 130 $, транспорт — от 40 $. С учетом налога на проживание и поездок для оформления визы сумма накладных составит около 510 $.

Итого: главное IT-событие уходящего года обойдется минимум в 5135 $.

И бонус-трек, если вы рядом с Швецией!

IP EXPO Nordic

Даты: 19–20 сентября 2018 года.

Где: Стокгольм, Швеция.

Описание: одна из крупнейших IT-конференций в Европе со множеством участников, стендов и тем. Масса информации об облачных технологиях, кибербезопасности, сетях, анализе данных, искусственном интеллекте.

Стоимость участия: простое посещение — бесплатно, но VIP-билет с допуском на семинары от ведущих специалистов Amazon и Microsoft обойдется минимум в 775 € (если поторопиться).

Стоимость авиабилетов: прямой рейс из Москвы — 248 €, с пересадками — от 199 €.

Стоимость гостиницы: Стокгольм — дорогой город, так что приличная гостиница недалеко от конференции будет стоить от 65 € за ночь.

Прочие расходы: если у вас нет шенгенской визы, придется отдать от 35 € за ее оформление (за срочное через посредников — и все 120 €). Транспорт и питание на 2-3 дня обойдутся в столице Норвегии еще минимум в 170 €.

Итого: эконом-вариант — 534 €, с комфортом и бизнес-программой — от 1500 €.

Как вы относитесь к конференциям? Ездите ли на них? Делитесь мнением в комментариях.

Пройти обучение

18 сен 18, 13:48
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

10 причин, почему быть программистом действительно круто

13 сентября (в 256 день года) весь мир отмечает День программиста. Гик-сообщество давно ожидает, что эта дата станет красной в календаре (помните государственный курс на инновации?), но, кажется, наш голос пока слишком тих. Что ж, попробуем привлечь больше людей на нашу сторону, напомнив, почему быть программистом — круто. 

Доступность обучения и развития

Сфера IT все время развивается и вы вместе с ней.

Изучайте книги и документацию, запишитесь на курсы, шерстите интернет, общайтесь на форумах и в сообществах. Практикуйтесь.

Реализуйте самые смелые фантазии в программах и приложениях. Так вы станете крутым специалистом и сможете работать в любой компании. 

«Помните, как забыв про всё, вы собирали конструктор в детстве? Программирование – тот же конструктор, только для взрослых.

Бывает и такое, что не можешь понять задачу, раздражаешься и унываешь. Но как только докапываешься до её решения, в очередной раз убеждаешься: программировать круто!

Самое интересное – использовать программирование для решения не только рабочих задач. Например, взял и сделал викторину по классическим композиторам или удобный калькулятор для домашнего пивоварения!»

Максим Ермоленков, разработчик Ruby on Rails в Рокетбанке.

 

Трудоустроенность

Когда вы выбираете будущую профессию, именно этот вопрос встает в первую очередь. Если отбросить специалистов из сферы услуг (с продавцами и водителями такси сложно конкурировать), вряд ли вы найдете более востребованное направление. Неважно, куда вы направитесь: в мобильную сферу, веб, разработку десктопного и специального ПО, администрирование, моделирование и анализ данных, — везде требуется множество специалистов разного уровня. 

«Сегодня HeadHunter рекомендует 4,5 тысячи вакансий на моё резюме. Я получаю столько звонков, что не на все собеседования успеваю сходить».

Никита Охотников, Python-разработчик, выпускник GeekBrains.

Интересная работа

Во-первых, количество сфер, где работают программисты, безгранично. Айтишники нужны на шахтах, исследовательских станциях на северном полюсе и особенно — для обслуживания космических кораблей. Что уж говорить про количество рабочих мест в мегаполисах. 

«Программирование для меня — дело, которое никогда не дает скучать. Каждый день — новые вызовы и преодоления препятствий. Если ты справишься, получишь мало с чем сравнимое удовольствие. Видеть, как продуктом, созданным твоими руками, пользуются другие люди, дорогого стоит».

Константин Колесников, руководитель разработки GeekBrains.

Отличная зарплата

Откройте исследования зарплат любого рекрутингового ресурса — на вершине рейтинга топ-менеджеры, руководители, строители и, внимание, айтишники всех мастей. Да, профессия программиста — не гарантия золотых гор, но при условии работы над собой у вас есть возможность жить, мало в чём себе отказывая.

Светлое будущее

Сегодня даже руководители нефтяных государств тратят огромные средства на развитие IT-сектора. Все понимают неизбежность цифрового будущего: это касается человеческих и государственных отношений, финансовых операций, информации, производства — всего. Разумеется, ценность программистов в таком мире огромна, а значит за своё будущее они могут не переживать. 

«Когда-то я и представить не мог, что во мне проснется интерес к разработке и IT в целом. Не мог, потому что не знал многих возможностей этой сферы:

  • большой инструментарий, чтобы работать на себя;

  • с технологиями можно связать любое свое увлечение или идею. Например, сделать сайт о путешествиях или обучающее приложение по игре на гитаре».

Роман Булатников, веб-разработчик, выпускник GeekBrains.

 

Куча новых знакомств

Для программистов проводится огромное количество событий, где можно завести кучу новых знакомств. Хакатоны, конференции, флешмобы — постоянно где-то проходит event, направленный на объединение, получение новых знаний. В такой ситуации найти друзей проще, чем откомментировать собственный код. 

Радость интроверта

Программисты могут творить и быть свободными от общества. Большинство условий оформляется на бумаге, общение происходит по электронной почте и через мессенджеры — никаких проблем. Вы можете проводить дни напролёт, не вылезая из пижамы, и быть востребованным специалистом, официально зарабатывающим несколько тысяч рублей в день. Или торчать в openspace, окруженным перегородками, и вообще не замечать окружающих, никого это не смутит.

Свобода от офиса

Да, многие программисты работают удаленно. Опрос Developer Survey Results 2017 на Stack Overflow показал, что разработчики очень ценят возможность удаленной работы, в том числе, выбирают рабочее место по этому критерию. При таком обилии программ для дистанционного управления проектами, групповой разработки и рабочих чатов, можно легко работать из дома. И не только из дома.

Возможность жить и работать в любой точке мира

Если вы программист, вы не привязаны ни к офису, ни к городу, ни к стране. Хотите — живите на азиатских островах, работайте на мультинациональные корпорации в США и Европе, поднимайте бизнес в Африке и Латинской Америке. Границы для тру-программиста существуют только в голове. Да и то не в своей.

Вот, например, рассказ Олега Иванова о работе в Болгарии.

Программист — это звучит круто

The New Yorker еще в 2014 году назвал программистов новыми рок-звездами. С тех пор ценность программистов только растет. Присоединяйтесь к сообществу! 

 

Пройти обучение

12 сен 18, 20:40
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

«Аппетит приходит во время еды – это про меня с IT»

Привет, я Роман. Живу в Эстонии, работаю в сфере логистики, интересуюсь журналистикой, играю на гитаре и люблю путешествовать. Честно сказать, я никогда не был заинтересован в IT — это казалось мне скучным. На уроках информатики не хватало терпения досидеть до конца — и я их прогуливал. Этот предмет меня раздражал. Все это длилось до тех пор, пока у меня не появилась цель — сделать свой сайт. Но это произошло не сразу.

Как все начиналось

Однажды я устроился в службу техподдержки компании, предоставляющей доступ к торгам на валютной бирже. Писал аналитические статьи, выкладывал их на сайт, занимался рассылками, конкурсами. Параллельно увлекся новостями. В один момент захотелось сделать собственный новостной портал. Но учиться программированию я по-прежнему не планировал. Поскольку на тот момент я еще ничего не умел, пришлось найти веб-мастера.

Со временем понял, что работать с подрядчиком не очень удобно. Я от него зависел: если хотел что-то добавить или улучшить, приходилось просить и ждать. Не говоря уже о финансовой стороне вопроса: любое изменение требовало денег. Сильного желания освоить разработку все еще не возникало, просто хотелось делать свое дело и не зависеть от третьих лиц. Я начал изучать сайтостроение самостоятельно, после чего понял, что надо пойти учиться систематически.

Искал курсы и нашел GeekBrains через рекламное объявление. Описание показалось мне интересным, и я прошел курс веб-мастера. Сделал собственный сайт на Wordpress, установив его через дистрибутив. Wordpress удобен, потому что позволяет собрать сайт, как конструктор. Я настроил подходящую тему оформления, установил все необходимые плагины, перенес контент со старой версии сайта (он бы написан на Joomla) — одним словом, сделал все для полноценной работы ресурса. С некоторыми трудностями столкнулся при переносе накопленного за 2 года контента на новый хост: картинки были разного формата, и их приходилось добавлять заново.

Сейчас все это кажется мне естественным, но до знакомства с GB я не имел представления о таких простых вещах. Полноценное понимание пришло уже в процессе обучения — во многом благодаря преподавателям, которые все подробно объясняли. Оказалось, освоить основы сайтостроения можно всего за 2 месяца, не углубляясь в серверные языки и базы данных.

Полная независимость

Спустя время я уже не зависел от веб-мастера, но по-прежнему пользовался готовыми темами оформления. Относительно моего бюджета это стоило немалых денег: одна из них обошлась в 60 долларов. И все бы ничего, если бы плата была разовой. Но в дальнейшем приходилось доплачивать за обновления, да и готовые плагины накладывали свои ограничения — ты априори зависишь от их ассортимента. Я же хотел независимости, но для этого нужно было приобрести больше навыков.

Тогда я решил освоить следующий курс — веб-разработку с нуля. Мы изучаем HTML, CSS, PHP, Javascript и базы данных. Могу сказать, что эти знания мне очень пригодились при работе над своим проектом. Они помогли создать свой сайт с нуля — таким, каким я хочу его видеть. До курса я тратил много времени на установку сайта на хостинг, а теперь это происходит гораздо быстрее и легче. Вишенкой на торте стал факт, что после обучения я смогу зарабатывать, создавая сайты для заказчиков.

Вскоре я действительно увлекся и взялся еще три курса: по SEO, системному администрированию и информационной безопасности. После знакомства с веб-разработкой пришел к неожиданному выводу: системное администрирование дается мне сложнее, чем сам JavaScript. Раньше думал, что быть сисадмином — легко. Возможно, у меня были общие заблуждения насчет этой профессии. Думал: протянул кабель, настроил оборудование — и готово, иди пей кофе. Оказалось не так. В системном администрировании нужно вникнуть в общий принцип: как работают программы, для чего они нужны. Общая картина складывалась тяжело, чего не скажешь о JavaScript, где все было понятно сразу: надо было лишь выучить и запомнить некоторые вещи, как при изучении иностранного языка. Просто учите, зубрите, повторяете.

Как не бросить все

При работе над сайтом постоянно всплывали ошибки. Когда что-то не получалось, опускались руки. Я пугался и думал: «Все пропало, шеф, все пропало», «Это не мое» и все в таком духе. Но любая задача решаема.

Ребята, даже если у вас есть опытный наставник, не пренебрегайте гуглением. Грамотный поиск и изучение нужной документации помогут вам найти ответы практически на любые вопросы. Другое дело, что наставник может задать вектор: подсказать, где именно и как искать. Верный алгоритм поиска — уже половина успеха, плюс сэкономленное время. Конечно, не все сразу: долгое время можно пребывать в тупике и унынии. Бывало, в критические моменты меня охватывала паника. Но справиться с ней можно, если:

  • выждать момент, пока эмоции утихнут. Успокоиться и продолжить поиск уже на свежую голову;
  • посидеть над задачей подольше, как бы банально это ни звучало.

Сейчас я уже окончил курсы SEO-специалиста и веб-мастера и стараюсь довести до ума оставшиеся три — системное администрирование, веб-разработку и информационную безопасность. Главной проблемой остается нехватка времени.

Так получилось, что я взялся за несколько курсов одновременно. С одной стороны, сложно угнаться за несколькими зайцами сразу. С другой — это лишний раз мотивирует: ты понимаешь, что уже встал на этот путь и несешь ответственность за свой выбор. Надо довести начатое до конца, чтобы не было стыдно перед собой.

Если считаете, что у вас нет времени на дополнительное образование — не спешите с выводами. Всего и сразу успеть нельзя, но выстроить свой день максимально продуктивно — можно. Могу поделиться своим скромным опытом. Я просто записываю. Когда вокруг много всего, ты будто выпадаешь из реальности. Записи помогают в нее вернуться. Не менее важно — планировать свое время по часам.

Мой обычный день выглядит примерно так:

  • 9:00 – 9:30 — завтрак;
  • 9:30 – 10:30 — час на изучение JavaScript;
  • 10:30 – 11:00 — полчаса на спортивную тренировку;
  • 11:00 – 12:00 — час на работу над своим сайтом;
  • 12:00 – 12:30 — полчаса на занятия по гитаре;
  • 12:30 – 13:30 — собираюсь на работу;
  • 13:30 – 14:30 — время в пути до работы, оно же — для изучения английского языка. В дороге я слушаю аудиопособия. Английский очень пригодится в IT-сфере — это конкурентное преимущество и интеллектуальный актив;
  • 14:30 – 23:00 — рабочий день;
  • после работы — время на другие дела или отдых.

Как видите, найти время можно на многое, если грамотно распланировать свой день. Я работаю на заводе сменами, поэтому личный график может меняться. Иногда встаю в 3 часа ночи, чтобы успеть на работу к 4 утра. Дело не в том, как именно составлен ваш график и насколько педантично вы его придерживаетесь. Суть в самом факте планирования, когда вы стабильно уделяете определенное время — пусть и небольшое — каждой из задач. В этом смысле мне было удобно проходить обучение дистанционно, гармонично встраивая его в личное расписание. На мой взгляд, это еще один плюс GeekBrains: можно просматривать вебинары в удобное время. Кроме того, на курсах советуют неплохие дополнительные материалы для самостоятельного изучения, вроде порталов htmlbook.ru, flexboxfroggy.com или webref.ru. От себя могу порекомендовать ресурс theory.phphtml.net. Все это помогает в условиях нехватки времени.

Что получилось

В итоге мой сайт стал более интересным и кликабельным. Раньше это выглядело как лента вида «картинка–текст». Сейчас есть рубрикация и категории. Внутренняя линковка работает лучше, а интерфейс стал более удобным: пользователю проще выбрать, что именно он хочет почитать. На сайте пишут люди из разных уголков мира. Я вошел во вкус и хочу развиваться дальше.

Аппетит приходит во время еды — именно так вышло у нас с IT. Я начал с простого, увлекся и перешел к более сложному. Не планировал становиться программистом, просто хотел научиться обслуживать свой сайт самостоятельно. Создавая проект, думал о его монетизации и предвкушал скорее результат, чем удовольствие от самого процесса.

Когда-то я считал эту сферу скучной или недосягаемой. Сегодня все иначе — во многом благодаря GeekBrains, где ты не просто проходишь курс, но и получаешь профессию. У каждой специализации есть подробное описание на сайте, и это позволяет приступить к учебе уже немного подготовленным. Наставники всегда помогут и подскажут. Ты чувствуешь, что не брошен — это важно. Сейчас я соотношу свои возможности с требованиями рынка и понимаю, что программистом может стать практически каждый.

Когда-то я и представить не мог, что во мне проснется интерес к разработке и IT в целом. Не мог, потому что не знал всех возможностей этой сферы:

  • большой инструментарий, чтобы работать на себя;
  • с технологиями можно связать любое свое увлечение или идею. Например, сделать сайт о путешествиях или обучающее приложение по игре на гитаре;
  • освоить новую IT-специальность вполне реально за полгода–год, а на базовые вещи может уйти всего пара месяцев;
  • войти в эту сферу можно в любом возрасте и без предварительной подготовки.

Многие из нас в юности выбирают специальность неосознанно — а потом всю жизнь не чувствуют себя реализованными, не получают от работы удовольствия. Сейчас мне 31, и потребность в изучении чего-то нового появилась у меня в 30. Главное — целеустремленность и желание постоянно развиваться. В IT начать никогда не поздно.


7 сен 18, 12:19
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Лучшие способы изучить программирование без зубрёжки

Благодаря классическому образованию мы привыкли думать, что процесс обучения  — это долгое сидение за учебниками, анализ и конспектирование важной информации, зубрёжка и лишь в конце — краткий миг воплощения теории на практике. Возможно, это самый короткий путь к просветлению, но точно не единственный. Далее несколько способов, как можно научиться программировать, не прибегая к нудному чтению технической информации.

Обучение через практику

IT-мир давно задался целью сделать программирование массовым явлением. Началось это во времена перехода от огромных вычислительных машин к персональным компьютерам. Тогда, в 1960-е годы появился язык Logo, позднее – Basic и Pascal, а сегодня балом правит яркий Scratch. У каждого из них свой подход, но суть одна – для создания рабочей программы вам хватит нескольких минут на ознакомление с синтаксисом и интерфейсом.  Взглянем на пример Scratch.

Представим, что о программировании мы знаем ровно столько же, сколько про происхождение бозона Хиггса, и попробуем создать простую программу. Можете проделать все операции самостоятельно и даже включить таймер.

✔ Шаг 1. Регистрируемся на сайте. Регистрация не требует немедленного подтверждения, и уже через пару минут мы оказываемся за рабочим холстом.


✔ Шаг 2.

На ознакомление с интерфейсом ушло пара минут, на функциональные блоки ещё столько же. Для интереса вызвал справку — в ней на графическом примере объясняются действия. Скучными действиями пока и не пахнет.

✔ Шаг 3. Создаём простую программу, где наш кот-лиса пинает футбольный мяч. Таймер показывает +4 минуты.

✔ Шаг 4. Оформляем игровое поле, добавляем немного функций, и вот наш кот-лис забивает гол в ворота.

Итого: 15 минут. Просто вдумайтесь: наши родители тратили на программы часы и недели, а любой школьник способен создать такое за нескольких минут без всякой нудной теории. 

Практикуясь и усложняя сценарии, вы сможете получите базу для программирования и вскоре сможете перейти на более сложные языки. Например, Python. Здесь от вас всё же потребуется заглянуть в документацию, но творить вы всё равно будете куда больше, чем читать.

Обучение через игры

Вы можете увидеть эффективность этого метода, наблюдая за маленькими детьми. Не умея читать, писать и даже выражать свои мысли, всего за несколько лет они становятся полноценными жителями социума. И всё благодаря играм.

Игры — это не обязательно компьютерная анимация и ограниченный набор функций. Использование карточек, ассоциаций, зрительных образов и любой другой нестандартный метод изучения – всё это игры. Главное — создать соревновательный эффект. Когда существует необходимость преодолеть себя или виртуального соперника, даже изучение функций в технической документации может стать увлекательным чтивом.

Чтобы убедиться в этом на практике, посетите и проведите несколько минут на следующих сайтах. 

Codecombat — пожалуй, самая известная браузерная игра, связанная с программированием. В цене языки Python и JavaScript.

Empire of Code — космическая стратегия, где программирование – не необходимый навык, но очень полезный. И именно поэтому у вас будет стимул изучить JavaScript или Python.

Codingame — квест-головоломка, тоже на космическую тематику. Язык можно выбрать почти любой из популярных. В сравнении с предыдущими не отличается обилием графики.

TopCoder — это платформа вообще без анимации, зато можно заработать денег на соревнованиях или решении особенных задач.

Codewars — один из ведущих сайтов в области изучения и закрепления навыков программирования через задания и конкурсы. Поддерживаются языки Java, JavaScript, Ruby, Python, C#, Clojure, Haskell, CoffeeScript.

Обучение через видеоролики

Интернет-обучение — хорошая альтернатива классическому образованию. Прежде всего это связано с форматом видеоуроков и тем, что преподаватели в большинстве своём – действующие специалисты. Но всё же, как и книги, интернет-курсы часто могут оказаться очень скучными и поверхностными.


Другое дело — вебинары. За минимум времени участник должен получить максимум информации, а ведущий должен удерживать внимание слушателя в течение всего мероприятия. Вебинары по определенному языку могут смотреть люди, которые не планируют его изучать. Вот, например, несколько свежих примеров из нашего раздела «Вебинары», которые с удовольствием бы посмотрел любой гик:

В таких интересных вебинарах и кроется их основная прелесть – заинтересовавшись темой, вы хотите глубже изучать язык и программировать, подыскивая что-то более классическое, вроде «Основы Python». Или записаться на курсы по языку к ведущему вебинара.

Обучение через «правильную» литературу

Недостаток большинства книг по программированию — нежелание их автора заинтересовать читателя случаями из жизни, прикладными примерами, упрощённой формулировкой сложных принципов. Однако есть книги, с которыми вы точно не заскучаете:

Каждая из этих книг рассказывает о программировании именно так, будто разработка ПО — интересное и увлекательное ремесло, которым она, безусловно, является. 



Когда человек берётся за какое-то новое дело, самое главное — не растерять стартовый энтузиазм, а в перспективе — развить его. Поэтому для программирования в последнюю очередь надо применять подход, при котором вы будете себя заставлять учиться. Получайте знания с удовольствием, и вы сами не заметите, как станете крутым специалистом.


 

Пройти обучение

25 май 18, 18:56
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Как студенты GU создали сервис банковских услуг

Студенты GeekUniversity во время обучения разрабатывают проекты с потенциалом выхода на реальный рынок. Мы уже писали о сканере информационной безопасности, на сей раз речь пойдет об онлайн-бирже банковских услуг  Marketbank, созданной студентами факультета Web-разработки Айдемиром Алиевым, Антоном Погореловым и Александром Стекольщиковым. О том, как создавался проект и насколько коротка дорога в IT, рассказали основатели web-приложения.

Знакомство с IT: от курсовой до первого стартапа в web-разработке

Айдемир Алиев, создатель проекта Marketbank:

«Я пришел в IT в 18 лет, сейчас мне 23. Был вдохновлен создателями «Вконтакте» и Facebook. Поначалу пытался изучать программирование самостоятельно, но позже услышал про GeekUniversity. Мне понравилось, что здесь меня ждут системные знания, общение с наставником и другими ребятами из профессионального сообщества. Это очень важно для меня, поэтому и поступил в GU.

«Marketbank — это моя курсовая работа и первый стартап в направлении веб-разработки»

Непосредственно в IT еще не работал. Пока я маркетолог в ювелирной компании, но планирую развиваться в программировании. Marketbank — это моя курсовая работа и первый стартап в направлении веб-разработки».

Антон Погорелов, разработчик Marketbank:

«С IT я познакомился еще в детстве, когда компьютеры были большими и страшными. Потом закончил факультет информационных технологий, но учился на инженера. Пять лет проработал системным администратором, со временем захотелось уйти в разработку. У сисадминов достаточно низкий потолок зарплат — в современном мире это важный фактор. Особенно если тебе нужно содержать семью.

«Сегодня весь бизнес уходит в интернет, а значит, программирование вряд ли оставит тебя без куска хлеба»

Программирование позволяет работать удаленно с разными компаниями. Я живу в Оренбурге — здесь зарплаты маленькие. Но это не мешает мне работать удаленно с компаниями из других городов, которые не жадничают. Кроме того, разработка мне интересна и с этой сферой я уже знаком. Сегодня весь бизнес уходит в интернет, а значит, программирование вряд ли оставит тебя без куска хлеба».

Идея Marketbank

Айдемир Алиев, создатель проекта:

«Свою идею я предложил на курсе по управлению продуктом. Первоначально мысль возникла, когда мне пришлось иметь дело со сферой страхования: понадобилось продлить ОСАГО и было очень неудобно обзванивать все страховые компании самому. Вот и подумал: почему до сих пор нет такого приложения, где можно просто отправить заявку и компании сами предложат тебе варианты? Этот алгоритм показался мне применимым и в банковской сфере. Я поспрашивал сотрудников банков и узнал, что им действительно было бы интересно пользоваться таким продуктом.

Как продукт-менеджер я занимаюсь прототипированием и написанием ТЗ, параллельно делаю дизайн в фотошопе. Все это передается верстальщику(в нашей команде он еще и front-end-разработчик) и back-end-программисту, которые реализуют проект. Я контролирую, успевают ли ребята выполнить те или иные задачи в срок: у нас есть чат, куда мы отправляем ежедневные отчеты о проделанной работе».

Концепция проекта Marketbank

Айдемир Алиев, создатель проекта:

«Marketbank — это биржа банковских услуг. Мы выступаем в роли связующего звена между пользователями и банками. Например, вы хотите взять кредит. Банки могут предлагать разные условия: одобрить займ частично, либо полностью, предложить высокую или низкую процентную ставку и так далее. Обычно клиенту приходится самостоятельно все изучать, ездить или обзванивать, что занимает много времени.

«Для банков — это дополнительная база клиентов, для пользователей — удобство и сэкономленное время»

Наш проект максимально оптимизирует этот процесс. Все, что вам нужно сделать — это оставить заявку на нашем сайте. Сервис передаст ее банкам, которые проанализируют ваши данные и предоставят спектр актуальных предложений, основанных на вашем запросе. Если предложение подошло — вы уже целенаправленно идете в конкретный банк и заключаете договор. Для банков — это дополнительная база клиентов, для пользователей — удобство и сэкономленное время».

Как это работает

Чтобы воспользоваться сервисом, нужно зарегистрироваться на сайте, ввести свои данные и войти в личный кабинет. Информация предоставляется пользователям после модерации: банки знакомятся с заказами и платежеспособностью потенциальных клиентов, а заказчики — с деятельностью и репутацией компаний.

«Мы помогаем клиентам найти подходящие банки, а банкам — подходящих клиентов»

Механизм работы клиентской части:

  • Заказчик регистрируется на сайте и заполняет необходимые поля: ФИО, дата рождения и так далее.
  • Пользователь предоставляет справку о доходах и другие необходимые документы, чтобы банки могли оценить платежеспособность и кредитную историю.
  • Документы и информация проходят модерацию.
  • После модерации заказчик может подать заявку и ждать предложений от банков.
  • На сервере есть чат, позволяющий вести переписку с компаниями и задавать уточняющие вопросы.

«Мы помогаем клиентам найти подходящие для них банки, а банкам — подходящих клиентов. Компании будут знать историю взаимоотношений клиента с банками, а пользователи — насколько порядочно работает та или иная организация», — Айдемир Алиев, руководитель проекта.

Механизм работы банковской части:

  • Для банков процесс регистрации выглядит иначе. Компания не регистрируется самостоятельно. Сначала разработчики изучают работу банка и определяют, насколько он подходит для сервиса. Если компания добросовестная и желает подключиться к Marketbank, команда сама создаст для нее личный кабинет с отдельной страницей входа.
  • После регистрации представители банка могут зайти на страницу заявок, чтобы ознакомиться с запросами, отфильтровать их относительно характера своих услуг и выбрать подходящего клиента.
  • Банку доступны запрос и предоставленные пользователем данные.
  • На основе полученной информации компания формулирует предложения и отправляет их клиенту.

«Банковский и клиентский интерфейсы немного отличаются и выполняют разные функции — под каждую нужно написать скрипты. У банка, например, другие поля для хранения, в отличие от анкеты пользователя. Принципиальной разницы нет: и те, и другие будут друг с другом общаться. Отличие лишь в технической реализации. Сейчас мы стараемся сделать так, чтобы все работало хорошо», — Антон Погорелов, разработчик Marketbank.

Планы и перспективы

Ребята уже закончили разрабатывать пользовательскую часть — впереди банковская. В дальнейшем две эти части интегрируют друг в друга и проект будет полностью готов.

Айдемир Алиев: «Мы сделали минимальную версию продукта, в планах — усложнять его, делать более точный фильтр. Пока это учебный проект и наши услуги бесплатны: сейчас мы больше сосредоточены на создании качественного продукта, чем на его монетизации.

Возможно, в дальнейшем мы добавим дополнительные опции. Например, если пользователь захочет поднять позицию своей заявки в поисковике, — за это можно и плату взимать. Для банков планируем сделать сначала бесплатный период, чтобы сначала они ознакомились с сервисом, а потом — оформили платную ежемесячную подписку. В нее могут входить дополнительные функции: статистика или аналитика. Всем этим мы будем заниматься по мере развития проекта.

«Важно проверить, как работает концепция, чтобы усовершенствовать ее потом»

На сайте есть рубрикация по областям заявок. Пока мы сконцентрировались на двух сферах: ипотека и автокредитование. В дальнейшем собираемся пополнять рубрикацию другими видами услуг.

На данный момент важно проверить, как работает концепция, чтобы усовершенствовать ее потом. Сервис существует в виде web-сайта, но в перспективе думаем сделать и мобильное приложение. Еще одна цель — научиться работать в команде. Кроме того, нам важно получить фидбэк от пользователей, чтобы понять их потребности и проанализировать спрос.

Что касается потенциальных площадок для продвижения, здесь я бы отметил сайт Banki.ru — у него хороший рейтинг в своей сфере. Помимо этого существует много профильных групп и сообществ в соцсетях, которые тоже подойдут для размещения информации о нашем продукте».

Антон Погорелов: «В перспективе мы хотим создать рейтинговую систему банков и пользователей, чтобы на нашем сайте были только зарекомендовавшие себя клиенты. При ее создании будем опираться на модерирование обращений: оценок и отзывов пользователей. Такая система поможет избежать условий недобросовестной конкуренции. Пока планируем заниматься этим сами, но не исключаем, что в будущем модерацией займется специальная служба.

Есть один нюанс: мне кажется, перед выводом нашего проекта на реальный рынок необходимо решить серьезные юридические моменты. Они касаются хранения персональных данных, лицензий на разную деятельность и так далее. Сама же концепция, безусловно, интересная.

Опыт работы над кейс-проектом — это, прежде всего, хороший опыт работы в команде. Считаю, это обязательно нужно попробовать, поскольку командная разработка есть во всех крупных компаниях».

Почему GeekUniversity

Айдемир Алиев: «GeekUniversity закрыл многие пробелы в знаниях, которые сложно было восполнить при самостоятельном обучении. Во многом это произошло благодаря наставнику и структурному подходу к обучению. Я оказался в профессиональном сообществе, узнал много полезного от IT-специалистов из первых уст. Очень понравились факультативы от «РосЕвроБанка» и «Альфа-банка»: я понял, как нужно работать с технологиями, профессионалы подробно отвечали на все вопросы и помогали разобраться в сложных моментах.

«IT — это динамичная, постоянно развивающаяся сфера»

До знакомства с GU я уже сталкивался с версткой и языками программирования, но очень многое открыл уже в процессе обучения. Например, раньше я не знал, как работают компьютерные сети, операционные системы, алгоритмы и структуры данных. Это фундаментальные вещи, которые знать необходимо, а в GeekUniversity эти знания преподносят максимально доступно. Единственная сложность может возникнуть со временем: сложно совмещать учебу с работой. В остальном трудностей нет. По крайней мере, я достаточно легко освоил предмет: здесь очень хорошие преподаватели — всегда помогут и все доходчиво объяснят.

IT — это динамичная, постоянно развивающаяся сфера. Многие боятся вступить на путь разработки, думая, что это очень сложно. Признаюсь, я и сам так думал. Особенно во время просмотра фильма «Социальная сеть»: все эти коды и циферки казались мне чем-то нереальным. На самом деле все реально, если не бояться и действительно учиться».

«GU позволяет за год освоить программирование с нуля, но вы должны понимать — придется посвящать этому очень много времени и сил»

Антон Погорелов: «В GeekUniversity я пошел с целью найти новую работу. За полгода обучения у меня в голове отложилось много полезных знаний. Поначалу приходилось долго сидеть над методичками и вникать в материал. Со временем учеба стала даваться гораздо легче — теперь какие-то вещи я могу делать прямо с ходу.

GU позволяет за год освоить программирование с нуля, но вы должны понимать — для этого вам придется целенаправленно посвящать этому очень много времени и сил. Программа очень интенсивная. Скажу по себе: имея опыт программирования, знания английского и солидную скорость печати, мне требуется очень много времени на обучение. Я работаю, у меня есть ребенок — приходится как-то вертеться.

Мне удалось применить полученные навыки в текущей работе. Я занимаюсь сетью продуктов розничной торговли. Бывает, в кассовых аппаратах происходят сбои и чеки неправильно ложатся в базу данных. По данному поводу бухгалтерия часто обращается в техподдержку. Поэтому однажды я поднял веб-сервер и сделал интерфейс, который просто разбирает логи и объясняет бухгалтерам, что произошло. Это позволило им решать такие вопросы самостоятельно, без помощи технических специалистов.

Цель обучения для меня — получить не просто какую-то корочку, а реальные знания. Благодаря этому можно найти хорошую работу. Главная сложность — усвоить и научиться применять новые знания. Не всегда что-то новое дается легко, поэтому работать над собой нужно постоянно, уделяя много времени на саморазвитие».

Проекты студентов GU позволяют убедиться, что каждый из нас способен создать качественный продукт, применяя знания на практике. Конечно, без упорства и труда рыбки не выловишь, но мы поможем направить эти качества в нужное русло и будем рады видеть вас в нашем уютном IT-сообществе.

Пройти обучение

16 апр 18, 16:14
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Что такое модульное программирование и кому оно нужно

В любой профессии, не только в программировании, вы переживаете разные эмоциональные состояния по ходу выполнения проекта:

  • Сначала есть энтузиазм от перспектив и возможностей.
  • Затем приходит азарт. Первые ошибки и трудности вас только раззадоривают, заставляя мозг и фантазию работать на полную катушку.
  • Следом проседает концентрация. В какой-то момент вы перестаёте обращать внимание на предупреждения и мелкие ошибки, откладывая решение этих проблем на потом.
  • В итоге вы теряете мотивацию. Вы исправляете одну ошибку – появляется три. Вы пытаетесь добавить новую функцию, но выкидываете идею в мусорное ведро из-за нежелания тратить на это много времени.

Некоторые думают, что это нормально: стоит смириться и каждый раз проживать этот цикл. На деле же всё немного проще, и решение лежит не в области психологии, а в подходе к созданию кода.

Классическая проблема программирования

В западной литературе существует термин «big ball of mud» для описания архитектуры программы. Давайте переведём его дословно. Графически «большой шар грязи» можно представить в виде точек на окружности, символизирующих функциональные элементы, и прямых – связей между ними:

Похоже на ваши глаза перед сдачей проекта, не так ли?

Это иллюстрация той сложности, с которой вам надо работать, какое количество связей учитывать, если возникает ошибка.

Программирование не уникальная дисциплина: здесь можно и нужно применять опыт из других областей. Возьмём, к примеру, компьютер. Их производители не задумываются над многообразием задач, которые решает пользователь, и уж тем более не выделяют под каждую маленький процессор и память. Компьютер – это просто набор независимых сложных объектов, объединённых в одном корпусе при помощи разъёмов и проводов. Объекты не уникальны, не оптимизированы конкретно под вас, и тем не менее блестяще справляются со своей задачей.

В программировании есть точно такие же решения. Например, библиотеки. Они помогают не тратить драгоценное время на изобретение велосипеда. Однако для частных задач библиотеки не эффективны – создание отнимет уйму времени, а при единичной повторяемости эффективность стремится к нулю.

В этом случае полезнее обратиться к модулям. Модуль – логически завершённый фрагмент кода, имеющий конкретное функциональное назначение. Для взаимодействия модулей используются способы, не позволяющие изменять параметры и функциональность. Плюсы модульного программирования очевидны:

  • Ускорение разработки.
  • Повышение надёжности.
  • Упрощение тестирования.
  • Взаимозаменяемость.

Модульное программирование крайне эффективно при групповых разработках, где каждый сотрудник может сконцентрироваться только на своём фронте работ и не оглядываться на решения коллег. Однако и в индивидуальном подходе вы получаете, как минимум, вышеописанные преимущества.

Но не всё так просто.

Проблемы модульного программирования

Сама по себе идея использования модулей не сильно упрощает код, важно минимизировать количество прямых связей между ними. Здесь мы подходим к понятию «инверсия управления» (IoC). Упрощённо – это принцип программирования, при котором отдельные компоненты кода максимально изолированы друг от друга. То есть детали одного модуля не должны влиять на реализацию другого. Достигается это при помощи интерфейсов или других видов представления, не обеспечивающих прямого доступа к модульному коду.

В повседневной жизни таких примеров множество. Чтобы купить билет на самолёт или узнать время вылета, вам не надо звонить пилоту. Чтобы выпить молока, не надо ехать в деревню или на завод и стоять над душой у коровы. Для этого всегда есть посредники.

В модульном программировании существует три основные реализации:

  • Внедрение зависимостей. Способ, при котором каждый элемент имеет свой интерфейс, взаимодействие модулей происходит через интерфейсы.
  • Фабричный метод. Основывается на существовании некого объекта, предназначенного для создания других объектов. Иначе говоря, введение в программу прототипа, объединяющего общие черты для большинства объектов. Прямого взаимодействия между модулями нет, все параметры наследуются от «завода».
  • Сервисный метод. Создаётся один общий интерфейс, являющийся буфером для взаимодействия объектов.  Похожую функцию в реальной жизни выполняют колл-центры, магазины, площадки для объявлений и т.д.

Несмотря на то, что первая реализация IoC используется чаще всего, для первых шагов в модульном программировании лучше использовать другие два. Причина – простое создание интерфейсов лишь ограничивает доступ к модулям, а для снижения сложности кода необходимо также уменьшить количество связей. Интерфейсы, хаотично ссылающиеся на другие интерфейсы, код только усложняют.

Для решения этой проблемы необходимо разработать архитектуру кода. Как правило, она схожа с файловой структурой любого приложения:

Таким образом, поддержка принципов модульного программирования, инверсии управления и четкой архитектуры приложения поможет убить сразу трёх зайцев:

  1. Обеспечить чёткое функциональное разделение кода. При возникновении ошибок можно быстро определить источник, а исправления не приведут к появлению новых сбоев.
  2. Минимизировать количество связей. Это позволит упростить разработку, отдав на откуп нескольким разработчикам разные модули. Или вы сможете самостоятельно разрабатывать каждый блок без оглядки на другие, что тоже экономит время и силы.
  3. Создать иерархию с чёткой вертикалью наследования. Это повышает надёжность кода, так как тестирование провести проще, а результаты информативнее.

Соблюдение принципа модульности в больших проектах позволит сэкономить время и не расплескать стартовый задор. Более того, у вас получится наконец сосредоточиться на самом интересном – реализации оригинальных задумок в коде. А ведь это именно то, что каждый из нас ищет в программировании.

Пройти обучение

9 апр 18, 14:17
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0
Показаны все темы: 7

Последние комментарии

нет комментариев
Читать

Поиск по блогу

Люди

7 пользователям нравится сайт lena2018.mirtesen.ru